#ifndef MYSQL_H
#define MYSQL_H

#include <QObject>
/**
 * @brief The MySql class
 * @version 1.0
 * @author Albert
 * @date 2021.03.25
 *      [1.0]
 *          1.登录验证
 *          2.注册-用户信息插入
 *          3.传感数据存储
 */
class MySql : public QObject
{
    Q_OBJECT
protected:
    explicit MySql(QObject *parent = nullptr);

public:
    /**
     * @brief 获取单例对象
     * @return
     */
    static MySql *getObject();
    /**
     * @brief 登录
     * @param username
     * @param password
     * @return bool 登录结果
     */
    bool userLogin(QString username, QString password);
    /**
     * @brief userRegister
     * @param username
     * @param password
     * @param phone
     * @param email
     * @return 注册结果序号，0代表成功，大于0代表失败
     *                      1   用户已存在
     *                      2   密码过短
     *                      3   手机号格式异常
     *                      4   手机号已存在
     *                      5   邮箱已存在
     */
    int userRegister(QString username,
                      QString password,
                      QString phone,
                      QString email);
    /**
     * @brief saveData
     * @param co2
     * @param smoke
     * @param pm2_5
     * @param illumination 光照
     * @param inf1
     * @param inf2
     * @param methane 甲烷
     * @param ultraviolet_rays 紫外线
     * @param fire
     * @param antiphoto 对射
     * @param reflection 反射
     * @param temperature
     * @param humidity
     * @return
     */
    bool saveData(int co2, bool smoke, int pm2_5, int illumination, bool inf1, bool inf2, bool methane, int ultraviolet_rays, bool fire, bool antiphoto, bool reflection, double temperature, double humidity);

protected:
    static MySql *obj;

};

#endif // MYSQL_H
